package com.atzly.community.mapper;

import com.atzly.community.entity.Message;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * 核心业务
 *
 * @author zlysimida
 * @date 2021/8/29 - 18:23
 */
@Mapper
public interface MessageMapper {

    // 获得每个用户全部会话,并显示每个会话的最新的数据
    List<Message> getAllMessagePage(int userId, int offset, int limit);

    // 获得会话总个数
    int getMessagePageCounts(int userId);

    // 获得某个会话私信内容
    List<Message> getLetter(String conversationId, int offset, int limit);

    int getLetterCount(String conservationId);

    // 获得未读的私信个数
    int getNoReadLetterCount(int userId, String conversationId);

    // 发送私信
    int insertMessage(Message message);

    // 更新未读私信状态
    int updateMessageStatus(List<Integer> ids, int status);

    // 显示用户系统通知(最新的一条)
    Message selectSystemLatestNotify(int userId, String topic);

    // 查询用户系统通知的个数
    int selectSystemNotifyCount(int userId, String topic);

    // 查询用户系统未读的个数
    int selectSystemNoReadNotify(int userId, String topic);

    List<Message> selectDetailsNotifyAndPage(int id, String topic, int offset, int limit);
}
